package code13.map;

import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;

import org.junit.Test;

public class Test02 {
	@Test
	public void f1() {
		Hashtable<Integer, String> table = new Hashtable<Integer, String>();
		table.put(1, "tom");
		table.put(2, "jerry");
		table.put(3, "neo");
		//table.put(null, "11");// key 不能为 null
		//table.put(4, null);// value 不能为 null
		//System.out.println("table:"+table);
		
		// 三种遍历方式
		//table.keySet();
		//table.values();
		//table.entrySet();
		// jdk8
		//table.forEach();
		
		// Enumeration: keys(), elements()
		// 取出所有key,遍历,并取出value
		Enumeration<Integer> keys = table.keys();
		while(keys.hasMoreElements()) {
			Integer key = keys.nextElement();
			System.out.println(key+"="+table.get(key));
		}
		System.out.println("============");
		// 取出所有value
		Enumeration<String> elements = table.elements();
		while(elements.hasMoreElements()) {
			String ele = elements.nextElement();
			System.out.println(ele);
		}
		
		// 获取一个同步(线程安全)的 Map集合
		Map<Integer, String> map = Collections.synchronizedMap(
				new HashMap<Integer, String>());
	}
	
}
